<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"  
    xmlns:h="http://java.sun.com/jsf/html"  
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    template="/plantillas/plantilla-sistema.xhtml">
    <ui:define name="cabecera">
        <title>Gestión de Taxonomías</title>
        <link rel="shortcut icon"  href="../../resources/imagenes/favicon.ico" />
    </ui:define>
    <ui:define name="contenido">
      <center>
            <p:panel header="Taxonomía" style="width: 950px" >
               <h:form id="tablaTaxonomia"> 
                   <p:dataTable emptyMessage="No hay registros disponibles."
                                id="taxonomiaCrud" var="taxonomia" value="#{taxonomiaBean.listaTaxonomia}" 
                                resizableColumns="true" paginator="true" paginatorPosition="bottom" rows="10" 
                                rowKey="#{taxonomia.codigotaxonomia}" selectionMode="single">                      
                            <p:column filterBy="#{taxonomia.codigotaxonomia}" sortBy="#{taxonomia.codigotaxonomia}"  
                                headerText="Código" filterMatchMode="contains">
                                <h:outputText id="codigoTxt" value="#{taxonomia.codigotaxonomia}"   />
                            </p:column>
                            <p:column filterBy="#{taxonomia.phylum}" sortBy="#{taxonomia.phylum}"   
                                headerText="Phylum" filterMatchMode="contains">
                                <h:outputText id="phylumTxt" value="#{taxonomia.phylum}"  />
                            </p:column>
                            <p:column filterBy="#{taxonomia.clase}"  sortBy="#{taxonomia.clase}"  
                                headerText="Clase" filterMatchMode="contains">
                                <h:outputText id="claseTxt" value="#{taxonomia.clase}" />
                            </p:column>
                            <p:column filterBy="#{taxonomia.subclase}" sortBy="#{taxonomia.subclase}"
                                headerText="Sub-clase" filterMatchMode="contains">
                                <h:outputText id="subClaseTxt" value="#{taxonomia.subclase}" />
                            </p:column>
                           <p:column filterBy="#{taxonomia.infraclase}" sortBy="#{taxonomia.infraclase}"   
                                headerText="Infra-clase" filterMatchMode="contains">
                                <h:outputText  id="infraClaseTxt" value="#{taxonomia.infraclase}"  />
                            </p:column>
                            <p:column filterBy="#{taxonomia.orden}" sortBy="#{taxonomia.orden}"  
                                headerText="Orden" filterMatchMode="contains">
                                <h:outputText  id="ordenTxt" value="#{taxonomia.orden}"/>
                            </p:column>
                            <p:column filterBy="#{taxonomia.suborden}" sortBy="#{taxonomia.suborden}"   
                                headerText="Sub-orden" filterMatchMode="contains">
                                <h:outputText  id="subOrdenTxt" value="#{taxonomia.suborden}"/>
                            </p:column>
                            <p:column filterBy="#{taxonomia.familia}" sortBy="#{taxonomia.familia}"
                                headerText="Familia" filterMatchMode="contains">
                                <h:outputText id="familiaTxt" value="#{taxonomia.familia}"/>
                            </p:column>
                            <p:column filterBy="#{taxonomia.superfamilia}" sortBy="#{taxonomia.superfamilia}"
                                headerText="Super-familia" filterMatchMode="contains">
                                <h:outputText id="superFamiliaTxt" value="#{taxonomia.superfamilia}" />
                            </p:column>
                            <p:column filterBy="#{taxonomia.subfamilia}" sortBy="#{taxonomia.subfamilia}"
                                headerText="Sub-familia" filterMatchMode="contains">
                                <h:outputText id="subFamiliaTxt" value="#{taxonomia.subfamilia}" />
                            </p:column>
                            <p:column  filterBy="#{taxonomia.tribu}" sortBy="#{taxonomia.tribu}"
                                headerText="Tribu" filterMatchMode="contains">
                                <h:outputText id="tribuTxt" value="#{taxonomia.tribu}" />
                            </p:column>
                            <p:column  filterBy="#{taxonomia.variedad}" sortBy="#{taxonomia.variedad}"
                                headerText="Variedad" filterMatchMode="contains">
                                <h:outputText id="variedadTxt" value="#{taxonomia.variedad}" />
                            </p:column>
                            <p:column filterBy="#{taxonomia.genero}" sortBy="#{taxonomia.genero}"
                                headerText="Género" filterMatchMode="contains">
                                <h:outputText id="generoTxt" value="#{taxonomia.genero}" />
                            </p:column>
                            <p:column  filterBy="#{taxonomia.especie}" sortBy="#{taxonomia.especie}"
                                headerText="Especie" filterMatchMode="contains">
                                <h:outputText id="especieTxt" value="#{taxonomia.especie}" />
                            </p:column>
                            <p:column filterBy="#{taxonomia.subespecie}" sortBy="#{taxonomia.subespecie}"
                                headerText="Sub-especie" filterMatchMode="contains">
                                <h:outputText id="subEspecieTxt" value="#{taxonomia.subespecie}" />
                            </p:column>
                            <p:column headerText="Modificar" > 
                                <center>
                                    <p:commandButton id="actualizarTaxonomiaCmd" title="Modificar" icon="ui-icon-pencil"
                                                 actionListener="#{taxonomiaBean.prepararModificacion(taxonomia)}" 
                                                 update=":actualizarTaxonomiaFrm:actualizarTaxonomiaPnl" 
                                                oncomplete="actualizarTaxonomiaWgt.show()" />
                                </center>
                            </p:column>
                            <p:column  headerText="Eliminar" >
                                <center>
                                    <p:commandButton id="eliminarBtn" title="Eliminar" icon="ui-icon-trash"
                                                 actionListener="#{taxonomiaBean.prepararEliminacion(taxonomia)}" 
                                                 update=":confirmacionFrm:confirmacionPnl" 
                                                oncomplete="confirmacionWgt.show()"  />
                                </center>
                            </p:column>
                           
                        </p:dataTable>
                   <p:commandButton id="agregarbtn" value="Nueva Taxonomía"
                                                actionListener="#{taxonomiaBean.prepararAdicion}" 
                                                update=":guardarTaxonomiaFrm:guardarTaxonomiaPnl" 
                                                oncomplete="guardarTaxonomiaWgt.show()" 
                                                icon="ui-icon-document"/>
                    </h:form>
                </p:panel>         
     </center>
    </ui:define>  
    <ui:define name="extra">
          <p:dialog id="guardarTaxonomiaDlg" header="Nueva Taxonomía" widgetVar="guardarTaxonomiaWgt" 
                    resizable="false" modal="true" showEffect="false">
            <h:form id="guardarTaxonomiaFrm">
                <h:panelGrid id="guardarTaxonomiaPnl" columns="6" style="margin-bottom:10px">                    
                    <p:outputLabel for="codigoTxt" value="Código:" />
                    <p:autoComplete id="codigoTxt" value="#{taxonomiaBean.taxonomia.codigotaxonomia}"/>                     
                    <p:outputLabel for="phylumTxt" value="Phylum:" />
                    <p:autoComplete id="phylumTxt" value="#{taxonomiaBean.taxonomia.phylum}"/> 
                    <br></br><h:outputLabel value=" " />
                    <p:outputLabel for="claseTxt" value="Clase:" />
                    <p:inputText id="claseTxt" value="#{taxonomiaBean.taxonomia.clase}"/>
                    <p:outputLabel for="subClaseTxt" value="Sub-clase:" />
                    <p:inputText id="subClaseTxt" value="#{taxonomiaBean.taxonomia.subclase}"/>
                    <p:outputLabel for="infraClaseTxt" value="Infra-clase:" />
                    <p:inputText id="infraClaseTxt" value="#{taxonomiaBean.taxonomia.infraclase}"/>
                    <p:outputLabel for="ordenTxt" value="Orden:" />
                    <p:inputText id="ordenTxt" value="#{taxonomiaBean.taxonomia.orden}"/>
                    <p:outputLabel for="subOrdenTxt" value="Sub-orden:" />
                    <p:inputText id="subOrdenTxt" value="#{taxonomiaBean.taxonomia.suborden}"/>
                    <br></br><h:outputLabel value=" " />      
                    <p:outputLabel for="familiaTxt" value="Familia:" />
                    <p:autoComplete id="familiaTxt" value="#{taxonomiaBean.taxonomia.familia}" 
                                    completeMethod="#{taxonomiaBean.listaFamilias}"/>
                    <p:outputLabel for="superFamiliaTxt" value="Super-familia:" />
                    <p:inputText id="superFamiliaTxt" value="#{taxonomiaBean.taxonomia.superfamilia}"/>
                    <p:outputLabel for="subFamiliaTxt" value="Sub-familia:" />
                    <p:inputText id="subFamiliaTxt" value="#{taxonomiaBean.taxonomia.subfamilia}"/>
                    <p:outputLabel for="tribuTxt" value="Tribu:" />
                    <p:inputText id="tribuTxt" value="#{taxonomiaBean.taxonomia.tribu}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />
                    <p:outputLabel for="variedadTxt" value="Variedad:" />
                    <p:inputText id="variedadTxt" value="#{taxonomiaBean.taxonomia.variedad}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />
                    <p:outputLabel for="generoTxt" value="Género:" />
                    <p:inputText id="generoTxt" value="#{taxonomiaBean.taxonomia.genero}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />
                    <p:outputLabel for="especieTxt" value="Especie:" />
                    <p:inputText id="especieTxt" value="#{taxonomiaBean.taxonomia.especie}"/>
                    <p:outputLabel for="subEspecieTxt" value="Sub-especie:" />
                    <p:inputText id="subEspecieTxt" value="#{taxonomiaBean.taxonomia.subespecie}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />                  
                    <p:commandButton id="guardarBtn" actionListener="#{taxonomiaBean.agregarTaxonomia}" 
                                     oncomplete=":guardarTaxonomiaWgt.hide()" 
                                     update=":tablaTaxonomia:taxonomiaCrud" value="Guardar"
                                     icon="ui-icon-disk" title="Guardar"/>
                    <p:commandButton onclick="guardarTaxonomiaWgt.hide()" 
                                     type="button" title="Cancelar"
                                     icon="ui-icon-cancel" value="Cancelar"/>              
                </h:panelGrid>                   
            </h:form>
        </p:dialog>
        
        
        <p:dialog id="actualizarTaxonomiaDlg" header="Modificar Taxonomía" widgetVar="actualizarTaxonomiaWgt" 
                    resizable="false" modal="true" showEffect="false">
            <h:form id="actualizarTaxonomiaFrm">
                <h:panelGrid id="actualizarTaxonomiaPnl" columns="6" style="margin-bottom:10px">                    
                    <p:outputLabel for="codigoTxt" value="Código:" />
                    <p:autoComplete id="codigoTxt" value="#{taxonomiaBean.taxonomia.codigotaxonomia}"/>                     
                    <p:outputLabel for="phylumTxt" value="Phylum:" />
                    <p:autoComplete id="phylumTxt" value="#{taxonomiaBean.taxonomia.phylum}"/> 
                    <br></br><h:outputLabel value=" " />
                    <p:outputLabel for="claseTxt" value="Clase:" />
                    <p:inputText id="claseTxt" value="#{taxonomiaBean.taxonomia.clase}"/>
                    <p:outputLabel for="subClaseTxt" value="Sub-clase:" />
                    <p:inputText id="subClaseTxt" value="#{taxonomiaBean.taxonomia.subclase}"/>
                    <p:outputLabel for="infraClaseTxt" value="Infra-clase:" />
                    <p:inputText id="infraClaseTxt" value="#{taxonomiaBean.taxonomia.infraclase}"/>
                    <p:outputLabel for="ordenTxt" value="Orden:" />
                    <p:inputText id="ordenTxt" value="#{taxonomiaBean.taxonomia.orden}"/>
                    <p:outputLabel for="subOrdenTxt" value="Sub-orden:" />
                    <p:inputText id="subOrdenTxt" value="#{taxonomiaBean.taxonomia.suborden}"/>
                    <br></br><h:outputLabel value=" " />      
                    <p:outputLabel for="familiaTxt" value="Familia:" />
                    <p:autoComplete id="familiaTxt" value="#{taxonomiaBean.taxonomia.familia}" 
                                    completeMethod="#{taxonomiaBean.listaFamilias}"/>
                    <p:outputLabel for="superFamiliaTxt" value="Super-familia:" />
                    <p:inputText id="superFamiliaTxt" value="#{taxonomiaBean.taxonomia.superfamilia}"/>
                    <p:outputLabel for="subFamiliaTxt" value="Sub-familia:" />
                    <p:inputText id="subFamiliaTxt" value="#{taxonomiaBean.taxonomia.subfamilia}"/>
                    <p:outputLabel for="tribuTxt" value="Tribu:" />
                    <p:inputText id="tribuTxt" value="#{taxonomiaBean.taxonomia.tribu}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />
                    <p:outputLabel for="variedadTxt" value="Variedad:" />
                    <p:inputText id="variedadTxt" value="#{taxonomiaBean.taxonomia.variedad}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />
                    <p:outputLabel for="generoTxt" value="Género:" />
                    <p:inputText id="generoTxt" value="#{taxonomiaBean.taxonomia.genero}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />
                    <p:outputLabel for="especieTxt" value="Especie:" />
                    <p:inputText id="especieTxt" value="#{taxonomiaBean.taxonomia.especie}"/>
                    <p:outputLabel for="subEspecieTxt" value="Sub-especie:" />
                    <p:inputText id="subEspecieTxt" value="#{taxonomiaBean.taxonomia.subespecie}"/>
                    <br/><h:outputLabel value=" " /><br></br><h:outputLabel value=" " />                  
                    <p:commandButton id="guardarBtn" actionListener="#{taxonomiaBean.actualizarTaxonomia}" 
                                     oncomplete=":actualizarTaxonomiaWgt.hide()" 
                                     update=":tablaTaxonomia:taxonomiaCrud" value="Guardar"
                                     icon="ui-icon-disk" title="Guardar"/>
                    <p:commandButton onclick="actualizarTaxonomiaWgt.hide()" 
                                     type="button" title="Cancelar"
                                     icon="ui-icon-cancel" value="Cancelar"/>              
                </h:panelGrid>                   
            </h:form>
        </p:dialog>
        
        <p:dialog id="confirmacionDlg" header="Eliminar Taxonomía" 
                  widgetVar="confirmacionWgt" resizable="false" modal="true" 
                  showEffect="false" width="300" style="margin-bottom:10px">
            <h:form id="confirmacionFrm">              
                <h:panelGrid id="confirmacionPnl" style="margin-bottom:10px" > 
                    <p:row>
                        <p:column colspan="2">
                            <h:outputText value="¿Está seguro de eliminar esta taxonomía?"/>
                        </p:column>
                    </p:row>
                    <p:row>
                        <p:column>
                            <p:commandButton id="eliminarBtn" actionListener="#{taxonomiaBean.eliminarTaxonomia}" 
                                            oncomplete=":confirmacionWgt.hide()" 
                                            update=":tablaTaxonomia:taxonomiaCrud" value="Confirmar"
                                            title="Confirmar" icon="ui-icon-check"/>
                        </p:column>
                        <p:column>
                            <p:commandButton value="Cancelar" type="button" 
                                             onclick="confirmacionWgt.hide()" 
                                             icon="ui-icon-cancel" title="Cancelar">
                                <p:spacer width="20" height="30" />
                            </p:commandButton>
                        </p:column>
                    </p:row>
                </h:panelGrid>
            </h:form>
        </p:dialog>	      
    </ui:define>
</ui:composition>

 
